package com.cy.pj.common.web.interceptor;

import com.cy.pj.common.exception.ServiceException;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalTime;

public class TimeAccessInterceptor implements HandlerInterceptor {
    /**
     * 后端handler方法执行之前
     * @param request 请求对象
     * @param respons 响应对象
     * @param handler 目标处理器对象
     * return 表示时候对请求是否放行，是否执行后续handler方法
     * @throws Exception
     */
    /**
     * perHandle 在控制层目标方法执行之前执行
     */
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler)throws Exception{
        LocalTime now=LocalTime.now();//JDK8 中的时间对象
        int hour=now.getHour();//获取当前时间对应的小时数
        if (hour<=6 || hour>=24){
            throw new ServiceException("请在指定时间点进行访问");
        }
        return true;//放行
    }
}
